package j17;

import java.util.Scanner;

import shinda27.model.SungJukVO;
import shinda27.service.JDBCSungJuk;

public class J19_SungJuk_v6 {
	
	private static final String title = "JDBC를 이용한 성적 프로그램";
	
	private final static String menu = " >>> 추가(1) 조회(2) 수정(3) 삭제(4) 종료(0) ";
	
	private final static String addmsg = " 이름, 국어, 영어, 수학 순으로 입력하세요 ";
	
	private final static String modmsg = " 수정할 데이터 번호를 입력하세요 ";
	
	private final static String modmsg2 = " 수정할 데이터를 이름, 국어, 영어, 수학 순으로 입력하세요 ";
	
	private final static String delmsg = " 삭제할 데이버 번호를 입력하세요 ";
	
	public static void main(String[] args) {
		
		// 오라클 데이터베이스를 이용한 성적 처리
		// ArraySungJUk 대신 JDBCSungJuk으로 변경
		
		JDBCSungJuk sjsrv = new JDBCSungJuk();
		Scanner sc = new Scanner(System.in);
		
		while(true) {
			System.out.println(title);
			System.out.println(menu);
			
			switch (sc.nextInt() ) {
			case 0: sc.close(); 
					System.out.println("프로그램을 종료합니다.");
					System.exit(0); //프로그램 완전 종료
					break;
			case 1: addSungJuk(sc, sjsrv); break;
			case 2: showSungJuk(sjsrv); break;
			case 3: modifySungJuk(sc, sjsrv); break;
			case 4: removeSungJuk(sc, sjsrv); break;
			
			}
		}
	}
	
	private static void removeSungJuk(Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(sjsrv.readSungJuk());
			// 삭제하기 전에 전체 자료를 먼저 출력
		System.out.println(delmsg);
		String sjno = sc.next();		//삭제할 학생번호를 입력
		sjsrv.removeSungJuk(sjno);
		
	}

	private static void modifySungJuk(Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(sjsrv.readSungJuk());
		System.out.println(modmsg);
		String sjno = sc.next();		// 수정할 학생번호 입력
		System.out.println(modmsg2);
		SungJukVO sj = new SungJukVO (sc.next(), sc.nextInt(), sc.nextInt(), sc.nextInt());
		sj.setSjno(sjno);		//!!
		
		if(sjsrv.modifySungJuk(sj))
			System.out.println( "성공적으로 데이터가 수정되었습니다" );
		
	}

	public static void addSungJuk(	Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(addmsg);
		SungJukVO sj = new SungJukVO(
				sc.next(), sc.nextInt(), sc.nextInt(), sc.nextInt());
		sjsrv.newSungJuk(sj);
	}// 성적데이터를 입력받아 SungJuk테이블에 저장
	
	public static void showSungJuk(JDBCSungJuk sjsrv) {
		
		System.out.println(sjsrv.readSungJuk());
	}//	SungJuk테이블에 저장된 성적데이터를 모두 출력
	
	
}
